"""
演示对函数进行文档说明
"""

# 定义函数，进行文档说明
def add(x,y):
    '''
    add函数可以接收2个参数，进行两数相加的功能
    :param x: 形参x表示相加的其中一个数字
    :param y: 形参y表示相加的另一个数字
    :return: 返回值是两数相加的结果
    '''
    result = x + y
    print(f"2数相加的结果是：{result}")
    return result
# 悬停鼠标能观察
add(5, 6)

"""
演示嵌套调用函数
"""
# 定义函数func_b
def func_b():
    print("---2---")

# 定义函数func_a，并在内部调用func_b
def func_a():
    print("---1---")

    # 嵌套调用func_b
    func_b()

    print("---3---")

# 调用函数func_a
func_a()


"""
演示在函数使用的时候，定义的变量作用域
"""

# 演示局部变量
def test_a():
    num = 100
    print(num)

# num局部变量出了函数体，就无法使用了
# print(num)




# 在函数内部修改全局变量
# num = 200
#
# def test_a():
#     print(num)
#
# def test_b():
#     num = 500   # 局部变量
#     print(f"test_b:{num}")
#
# test_a()
# test_b()
# print(num)


# global关键字 在函数内声明变量为全局变量

num = 200

def test_a():
    print(f"test_a:{num}")

def test_b():
    global num  # 设置内部定义的变量为全局变量
    num = 500   # 局部变量
    print(f"test_b:{num}")

test_a()
test_b()
print(num)

